Crt0

crt0 (від англ. C runtime 0) — програмний код, що лінкується з програмою на мові програмування C, і виконує початкову ініціалізацію перед викликом функції main. Як правило це об'єктний модуль, що називається crt0.o, часто написаний на мові асемблера. Зазвичай автоматично включається лінкером до виконуваного файлу.[1]

crt0 містить початкову функціональність бібліотеки середовища виконання, і напряму залежить від компілятора, операційної системи і реалізації стандартної бібліотеки мови C.[1] На додачу до базової ініціалізації crt0 може виконувати додаткові функції, визначені програмістом, такі як виклик глобальних конструкторів C++ або функцій С, що містять атрибут ((constructor)) (специфічний для GCC).[2][3]

Для спеціальних випадків можуть застосовуватися альтернативні версії crt0: наприклад, профілювальник gprof вимагає, щоб програми лінкувалися з модулем gcrt0.[4]

  1. а б Помилка цитування: Неправильний виклик тегу <ref>: для виносок під назвою embecosm не вказано текст
  2. Помилка цитування: Неправильний виклик тегу <ref>: для виносок під назвою osdev не вказано текст
  3. Помилка цитування: Неправильний виклик тегу <ref>: для виносок під назвою osdev1 не вказано текст
  4. Помилка цитування: Неправильний виклик тегу <ref>: для виносок під назвою gprof не вказано текст

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search